home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
programm
/
gemfsc19
/
gemfsc19.lzh
/
GNUGEM27
/
VDIQGDOS.C
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-24
|
1KB
|
74 lines
/*
* vqgdos - enquire if GDOS is loaded or not
* (The source I got it from says, that this is the
* Atari official method)
*
* ++fgth ridderbusch.pad@nixdorf.com
*/
#ifdef __DEF_ALL__
#define L_vq_gdos
#define L_vq_vgdos
#endif /* __DEF_ALL__ */
#ifdef L_vq_gdos
int
vq_gdos(void)
{
register int retvalue __asm__("d0");
#ifdef __MSHORT__
__asm__ volatile
(" movw #-2,d0
trap #2
cmpw #-2,d0
sne d0
extw d0"
: "=r"(retvalue) /* output */
: /* no input */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
#else
__asm__ volatile
(" movw #-2,d0
trap #2
cmpw #-2,d0
sne d0
extw d0
extl d0"
: "=r"(retvalue) /* output */
: /* no input */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
#endif
return retvalue;
}
#endif /* L_vq_gdos */
#ifdef L_vq_vgdos
/*
* return type of GDOS
* -2L no GDOS installed
* 0x5F46534DL '_FSM' gdos
* 0x5F464E54L '_FNT' gdos
*/
unsigned long vq_vgdos(void)
{
register unsigned long ret __asm__("d0");
__asm__ volatile ("
movq #-2,d0
trap #2"
: "=r"(ret)
:
: "d0", "d1", "d2", "a0", "a1", "a2" );
return ret;
}
#endif /* L_vq_vgdos */